--- id: TASK-042 title: 'Spellcheck: accept common contractions' status: "\U0001F3C1 Done" assignee: [] created_date: '2026-07-14 02:44' updated_date: '2026-07-14 02:45' labels: - bug dependencies: [] priority: high ordinal: 41000 --- ## Description Spellchecker flagged everyday contractions (isn't, won't, I'd, they've, y'all) because the wordlist stores no apostrophe forms and Known() only trimmed possessive 's/'. Fix: curated builtin contraction set (internal/spell/contractions.go) checked in Known(), plus curly->straight apostrophe normalization so 'isn't' and 'isn’t' both match. Kills the manual-add annoyance. ## Acceptance Criteria - [ ] #1 Common n't/'d/'ll/'re/'ve/'m/'s contractions not flagged - [ ] #2 Case-insensitive and curly-apostrophe forms accepted - [ ] #3 Non-contraction apostrophe tokens (qwerty'll) still flagged - [ ] #4 Tests cover the above